# -*- coding: utf-8 -*-
from django.db import models
from django.core.urlresolvers import reverse
from stdimage import StdImageField
from datetime import datetime

class Reporter(models.Model):
        class Meta:
                verbose_name_plural = "Repórteres" 
        nome=models.CharField(max_length=50)
        email=models.EmailField()
        telefone=models.CharField(max_length=10)
        def __unicode__(self):
                return self.nome

class Videos(models.Model):
    class Meta:
        verbose_name_plural = 'Galeria de vídeos'
    titulo=models.CharField('Título',max_length=100)
    url=models.CharField('Link do vídeo',max_length=200)
    data_de_publicacao = models.DateTimeField('Data de publicação',default=datetime.now)
    autor = models.CharField(max_length=50)

    def __unicode__(self):
        return self.titulo
                
class GaleriaImagemMedium(models.Model):

    tituloImagem=models.CharField(max_length=50)
    foto=StdImageField(upload_to='imagens_medios', null=True, blank=True, size=(315, 235))
    data_de_publicacao=models.DateTimeField("Data de Publicação",default=datetime.now)
    comentario = models.CharField('Comentário',max_length=255, null=True, blank=True)
    def __unicode__(self):
        return self.tituloImagem
                
class GaleriaImagemLarge(models.Model):

    tituloImagem=models.CharField(max_length=50)
    foto=StdImageField(upload_to='imagens_grandes', null=True, blank=True, size=(600, 440))
    data_de_publicacao=models.DateTimeField("Data de Publicação",default=datetime.now)
    comentario = models.CharField('Comentário',max_length=255, null=True, blank=True)
    def __unicode__(self):
        return self.tituloImagem
        
class Dica(models.Model):
        titulo=models.CharField(max_length=50)
        descricao=models.TextField(max_length=333)
        data_de_publicacao=models.DateTimeField("Data de Publicação",default=datetime.now)
        def __unicode__(self):
                return self.titulo

class Noticia(models.Model):
    class Meta:
        abstract = True
        ordering = ('-data_de_publicacao')
    publicar=models.BooleanField(default=True)
    titulo_noticia=models.CharField("Título",max_length=100, unique=True)
    subTitulonoticia=models.CharField("Sub-Título", max_length=100)
    descricao=models.TextField("Descrição")
    imagem_315x235=models.ManyToManyField(GaleriaImagemMedium, blank = True, null = True)
    imagem_600x440=models.ManyToManyField(GaleriaImagemLarge, blank = True, null = True)
    video = models.ManyToManyField(Videos, blank = True, null = True)
    dica=models.ForeignKey(Dica, blank = True, null = True)
    slug = models.SlugField(max_length=100, blank=True)
    reporter=models.ForeignKey(Reporter, blank = True, null=True)
    data_de_publicacao=models.DateTimeField("Data de Publicação",default=datetime.now)
    def __unicode__(self):
        return self.titulo_noticia
        
class Agenda(Noticia):
        class Meta:
         verbose_name_plural = "Agenda" 
        def get_absolute_url(self):
            return reverse('tempus.views.agenda', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/agenda', size=(422, 130))


class Aconteceu(Noticia):
        class Meta:
                verbose_name_plural = "Aconteceu"
        def get_absolute_url(self):
            return reverse('tempus.views.aconteceu', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/aconteceu', size=(422, 130))
        
class AconteceuII(Noticia):
        class Meta:
                verbose_name_plural = "Aconteceu II"
        def get_absolute_url(self):
            return reverse('tempus.views.aconteceuii', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/_aconteceuii', size=(422, 130))
        
class MaisSaude(Noticia):
        class Meta:
                verbose_name_plural = "Mais Saúde"
        def get_absolute_url(self):
            return reverse('tempus.views.maissaude', kwargs={'slug': self.slug})
                
class MaisSaudeII(Noticia):
        class Meta:
                verbose_name_plural = "Mais Saúde II"
        def get_absolute_url(self):
            return reverse('tempus.views.maissaudeii', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/_maissaudeii', size=(206, 220))

class CentoEOitentaGraus(Noticia):
        class Meta:
                verbose_name_plural = "180graus.com"
        def get_absolute_url(self):
            return reverse('tempus.views.centoeoitentagraus', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/180graus', size=(206, 220))
                
class TrabalhoESaude(Noticia):
        class Meta:
                verbose_name_plural = "Trabalho e Saúde"
        def get_absolute_url(self):
            return reverse('tempus.views.trabalhoesaude', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/trabalhoesaude', size=(206, 220))
                
class BomSaber(Noticia):
        class Meta:
                verbose_name_plural = "Bom Saber"
        def get_absolute_url(self):
            return reverse('tempus.views.bomsaber', kwargs={'slug': self.slug})

class MateriasEspeciais(Noticia):
        class Meta:
                verbose_name_plural = "Matérias Especiais"
        def get_absolute_url(self):
            return reverse('tempus.views.materiasespeciais', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/materiasespeciais', size=(206, 220))
        nomeSessao=models.CharField("Nome da Sessão", max_length=50)
        def __unicode__(self):
                return self.nomeSessao
                
class ConselhosFederais(Noticia):
        class Meta:
                verbose_name_plural = "Conselhos Federais"
        def get_absolute_url(self):
            return reverse('tempus.views.conselhosfederais', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/conselhosfederais', size=(206, 220))
                
class FalaDoutor(Noticia):
        class Meta:
                verbose_name_plural = "Fala, Doutor!"
        def get_absolute_url(self):
            return reverse('tempus.views.faladoutor', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/faladoutor', size=(206, 220))
                
class Capa(Noticia):
        class Meta:
                verbose_name_plural = "Capa"
        def get_absolute_url(self):
            return reverse('tempus.views.capa', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/capa', size=(400, 255))

class FundMunSaude(Noticia):
        class Meta:
                verbose_name_plural = "Fund. Municipal de Saúde"
        def get_absolute_url(self):
            return reverse('tempus.views.fundmunsaude', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/fundmunsaude', size=(400, 255))
                
class Entrevista(Noticia):
        class Meta:
                verbose_name_plural = "Entrevista"
        def get_absolute_url(self):
            return reverse('tempus.views.entrevista', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/entrevista', size=(400, 255))

class Recomendamos(Noticia):
        class Meta:
                verbose_name_plural = "Recomendamos"
        def get_absolute_url(self):
            return reverse('tempus.views.recomendamos', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/recomendamos', size=(206, 220))
                
class DeuOQueFalar(Noticia):
        class Meta:
                verbose_name_plural = "Deu o que falar"
        def get_absolute_url(self):
            return reverse('tempus.views.deuoquefalar', kwargs={'slug': self.slug})
                
class RaioX(Noticia):
        class Meta:
                verbose_name_plural = "Raio X"
        def get_absolute_url(self):
            return reverse('tempus.views.raiox', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/raiox', size=(206, 220))
                
class GestaoSaudavel(Noticia):
        class Meta:
         verbose_name_plural ="Gestão Saudável"         
        def get_absolute_url(self):
            return reverse('tempus.views.gestaosaudavel', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/gestaosaudavel', size=(206, 220))

class BonsExemplos(Noticia):
        class Meta:
         verbose_name_plural = "Bons Exemplos" 
        def get_absolute_url(self):
            return reverse('tempus.views.bonsexemplos', kwargs={'slug': self.slug})

class BonsExemplosII(Noticia):
        class Meta:
         verbose_name_plural = "Bons Exemplos II"
        def get_absolute_url(self):
            return reverse('tempus.views.bonsexemplosii', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/_bonsexmemplosii', size=(206, 220))
class Cidadania(Noticia):
        class Meta:
         verbose_name_plural = "Cidadania" 
        def get_absolute_url(self):
            return reverse('tempus.views.cidadania', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/cidadania', size=(206, 220))
        
class Especialidades(Noticia):
        class Meta:
         verbose_name_plural = "Especialidades"
        def get_absolute_url(self):
            return reverse('tempus.views.especialidades', kwargs={'slug': self.slug})

class SaudeNaEscola(Noticia):
        class Meta:
         verbose_name_plural = "Saúde na Escola"
        def get_absolute_url(self):
            return reverse('tempus.views.saudenaescola', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/saudenaescola', size=(206, 220))
        
class SaudeNaFamilia(Noticia):
        class Meta:
         verbose_name_plural = "Saúde na Família" 
        def get_absolute_url(self):
            return reverse('tempus.views.saudenafamilia', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/saudenafamilia', size=(206, 220))
        
class SaudeDePrimeira(Noticia):
        class Meta:
         verbose_name_plural = "Saúde de Primeira" 
        def get_absolute_url(self):
            return reverse('tempus.views.saudedeprimeira', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/saudedeprimeira', size=(206, 220))
        
class FalaSecretario(Noticia):
        class Meta:
         verbose_name_plural = "Fala, Secretário" 
        def get_absolute_url(self):
            return reverse('tempus.views.falasecretario', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/falasecretario', size=(206, 220))
        
class BemEstar(Noticia):
        class Meta:
         verbose_name_plural = "Bem Estar"
        def get_absolute_url(self):
            return reverse('tempus.views.bemestar', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/bemestar', size=(206, 220))
        
class SaudeBucal(Noticia):
        class Meta:
         verbose_name_plural = "Saúde Bucal" 
        def get_absolute_url(self):
            return reverse('tempus.views.saudebucal', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/saudebucal', size=(206, 220))
        
class Notas(Noticia):
        class Meta:
         verbose_name_plural = "Notas" 
        def get_absolute_url(self):
            return reverse('tempus.views.notas', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/notas', size=(206, 220))
        
class FiquePorDentro(Noticia):
        class Meta:
         verbose_name_plural = "Fique por Dentro" 
        def get_absolute_url(self):
            return reverse('tempus.views.fiquepordentro', kwargs={'slug': self.slug})
        imagem_destaque=StdImageField(upload_to='destaque/fiquepordentro', size=(206, 220))

# SIGNALS
from django.db.models import signals
from django.template.defaultfilters import slugify

def agenda_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(agenda_pre_save, sender=Agenda)

def aconteceu_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(aconteceu_pre_save, sender=Aconteceu)

def aconteceuii_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(aconteceuii_pre_save, sender=AconteceuII)
        
def maissaude_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(maissaude_pre_save, sender=MaisSaude)

def maissaudeii_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(maissaudeii.titulo_noticia)

signals.pre_save.connect(aconteceu_pre_save, sender=MaisSaudeII)

def centoeoitentagraus_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(centoeoitentagraus_pre_save, sender=CentoEOitentaGraus)

def trabalhoesaude_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(trabalhoesaude_pre_save, sender=TrabalhoESaude)

def bomsaber_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(bomsaber_pre_save, sender=BomSaber)

def materiasespeciais_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(materiasespeciais_pre_save, sender=MateriasEspeciais)

def conselhosfederais_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(conselhosfederais_pre_save, sender=ConselhosFederais)

def faladoutor_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(faladoutor_pre_save, sender=FalaDoutor)

def capa_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(capa_pre_save, sender=Capa)

def fundmunsaude_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(fundmunsaude_pre_save, sender=FundMunSaude)

def entrevista_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(entrevista_pre_save, sender=Entrevista)

def recomendamos_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(recomendamos_pre_save, sender=Recomendamos)

def deuoquefalar_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(deuoquefalar_pre_save, sender=DeuOQueFalar)

def raiox_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(raiox_pre_save, sender=RaioX)

def gestaosaudavel_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(gestaosaudavel_pre_save, sender=GestaoSaudavel)

def bonsexemplos_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(bonsexemplos_pre_save, sender=BonsExemplos)

def bonsexemplosii_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(bonsexemplos_pre_save, sender=BonsExemplosII)

def cidadania_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(cidadania_pre_save, sender=Cidadania)

def especialidades_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(especialidades_pre_save, sender=Especialidades)

def saudenaescola_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(saudenaescola_pre_save, sender=SaudeNaEscola)

def saudenafamilia_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(saudenafamilia_pre_save, sender=SaudeNaFamilia)

def saudedeprimeira_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(saudedeprimeira_pre_save, sender=SaudeDePrimeira)

def falasecretario_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(falasecretario_pre_save, sender=FalaSecretario)

def bemestar_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(bemestar_pre_save, sender=BemEstar)

def saudebucal_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(saudebucal_pre_save, sender=SaudeBucal)

def notas_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(notas_pre_save, sender=Notas)

def fiquepordentro_pre_save(signal, instance, sender, **kwargs):
    instance.slug = slugify(instance.titulo_noticia)

signals.pre_save.connect(fiquepordentro_pre_save, sender=FiquePorDentro)